function a() {
  function b() {
    function c (){

    }
    c()
  }
  b()
}
a()

// a define  a.[[scope]]  --> 0: GO{}

// a doing   a.[[scope]]  --> 0: aAO{}
//                            1: GO{}

// b define  b.[[scope]]  -->0: aAO{}
//                           1:  GO{}


// b.doing   b.[[scope]]  -->  0: bAO{}
//                             1: aAO{}
//                             2:  GO{}

// c.define  c.[[scope]]  -->  0: bAO{}
//                             1: aAO{}
//                             2:  GO{}

// c.doing  c.[[scope]]  -->  0: cAO{}
//                             1: bAO{}
//                             2: aAO{}
//                             3:  GO{}